package main
import (
	"fmt"
)

type rect struct {
	width, height int
}


func (r *rect) area() int{
	return r.width * r.height
}

func (r rect) perim() int{
	return 2*r.width + 2*r.height
}


// 这一节主要是两个点
// 	- 区分：方法、函数
// 		 - 方法通过结构体.调用
//   	 - 函数是显式的传参调用
//  - 方法分值接收者、指针接收者
//		 - 前者会做一个对象拷贝
// 		 - 后者可以直接修改对象
func main(){

	r := rect{width:2,height:3}
	fmt.Println(r.area())
	fmt.Println(r.perim())

	rp := &r
	fmt.Println(rp.area())
	fmt.Println(rp.perim())

}